This invention relates generally to social networking, and in particular to incorporating external event information into a social networking system.
In a typical social networking system, such as a social networking website, users set up their user profiles and then establish connections with other users of the social networking system. The users often provide information about themselves expressly to the social networking system, such as demographic information and/or a list of the users' interests. Users may also provide information about themselves implicitly to the social networking system, through their actions on the system and interactions with other users. In this way, a social networking system can obtain a rich set of social information about its users, which may be used to enhance a user's experience online.
Useful social information that is tracked and maintained by a social networking system can be thought of in terms of a “social graph,” which includes a plurality of nodes that are interconnected by a plurality of edges. Each node in the social graph may represent something that can act on and/or be acted upon by another node. Common examples of nodes include users, non-person entities, content items, groups, events, messages, concepts, and any other things that can be represented by an object in a social networking system. An edge between two nodes in the social graph represents a particular kind of connection between the two nodes, which may result from an action that was performed by one of the nodes on the other node.
For example, if one user establishes a connection with another user in the social networking system, the two users are each represented as nodes, and the edge between the nodes represents the established connection. Continuing this example, one of these users may send a message to the other user within the social networking system. This act of sending the message is another edge between those two nodes, which can be tracked by the social networking system. The message itself may be treated as a node. Using the social graph, a social networking system may keep track of many different types of objects and the interactions and connections among those objects, thereby maintaining an extremely rich store of socially relevant information.
However, users frequently interact with content outside of the social networking system, such as content presented by third-party websites external to the social networking system. Often, a user may desire to communicate this interaction with external content back to the social networking system or use attributes of the external content for objects within the social networking system. For example, a social networking system may access a web page for an event, such as a concert or sporting event, and wish to coordinate with other social networking system users to attend the event. Currently, the user would need to manually create an event within the social networking system based on the event information from the web page, requiring the user to enter information about the event and identify other users to invite to the event. Hence, rather than leverage information about an event from sources external to the social networking system, conventional systems require a user to reproduce the information about the event in the social networking system to leverage the social networking system's functionality.